generated at
ParseStateは複数持てるようにする | scrapVim-lite-3
ScrapVim-lite-3/ParseStateは複数持てるようにする
「operatorとmotionと数字のどれかを受け付ける」といった状態を簡単に表現できる
渡されたvim key mapにマッチするコマンドがない ParseState は停止コマンドを発火する
ScrapVim-lite-3/Modeでそれを感知して、リストからその ParseState を削除する
リストが空になったら初期状態へ移行する
入力されたキーもリセットする
コマンドの解析はそれぞれの ParseState で独立に行う
遷移できるようになったら、他の ParseState の状態に関係なく遷移処理を行う
hr
↑これどっかのページにも同じこと書いたんだけどどこだっけ?
見つけた
これ複数格納できるようにしたほうがいいんじゃないか?
「数字かmotionを受け付ける」と行った状態を表現できる
normal modeをJavascript Objectで表現してみる#5fd3ddb11280f00000b9e8f6では両方の状態を表す ParseState を作っていたが、そんなことをせずに済む
与えられたvim key mapsに該当するcommandが見つからなくなったstateから削除していく
これは for ループで各stateごとに評価して、番号とstateを紐付けるようにしておけば、指定したstateを削除できる

#2020-12-17 22:29:48
#2020-12-16 14:53:47